TLS

Το Transport Layer Security (TLS) και ο προκάτοχός του, το Secure Sockets Layer (SSL), τα οποία συχνά αναφέρονται ως απλά "SSL", είναι Πρωτόκολλα Κρυπτογράφησης τα οποία παρέχουν Ασφάλεια Επικοινωνίας πάνω από ένα Δίκτυο Υπολογιστών[1]. Αρκετές από τις εκδόσεις του πρωτοκόλλου χρησιμοποιούνται σε εφαρμογές όπως η περιήγηση στον ιστό, το Ηλεκτρονικό ταχυδρομείο, η αποστολή τηλεομοιότυπων, τα Άμεσα Μηνύματα, καθώς και οι κλήσεις μέσω IP (VoIP). Οι ιστοσελίδες χρησιμοποιούν TLS για να διασφαλίσουν όλη την επικοινωνία μεταξύ των εξυπηρετητών τους και των περιηγητών ιστού.

Το πρωτόκολλο Transport Layer Security στοχεύει στο να προσφέρει ιδιωτικότητα και ακεραιότητα δεδομένων μεταξύ δύο εφαρμογών ηλεκτρονικών υπολογιστών που επικοινωνούν μεταξύ τους[1]. Όταν χρησιμοποιείται σε μία σύνδεση ανάμεσα σε έναν πελάτη (π.χ. έναν περιηγητή ιστού) και έναν εξυπηρετητή (π.χ. το wikipedia.org), η σύνδεση αυτή έχει μία ή περισσότερες ιδιότητες:

  • Η σύνδεση αυτή είναι «ιδιωτική» (ή «ασφαλής») και απολύτως συμβατή με τις μηχανές αναζήτησης, χάρη στην συμμετρική κρυπτογραφία, η οποία χρησιμοποιείται για την κρυπτογράφηση των δεδομένων που αποστέλλονται. Τα κλειδιά για αυτήν την συμμετρική κρυπτογράφηση δημιουργούνται βάση ενός κοινού μυστικού το οποίο συμφωνείται στην αρχή της συνεδρίας (βλ. Χειραψία TLS) και είναι μοναδικά για κάθε σύνδεση. Ο πελάτης και ο εξυπηρετητής συμφωνούν στις λεπτομέρειες για τον αλγόριθμο κρυπτογράφησης και το κρυπτογραφικό κλειδί πριν μεταδοθεί το πρώτο byte πληροφορίας (βλ. Αλγόριθμος παρακάτω). Η συμφωνία αυτή για το κοινό μυστικό είναι ασφαλής (το μυστικό αυτό δεν είναι διαθέσιμο σε άτομα που παρακολουθούν την σύνδεση και δεν μπορεί να βρεθεί, ακόμα και αν ο επιτιθέμενος είναι στο μέσο της σύνδεσης) και αξιόπιστη (κανένας επιτιθέμενος δεν μπορεί να τροποποιήσει τα δεδομένα της σύνδεσης κατά την διάρκεια της χειραψίας χωρίς να γίνει αντιληπτός).
  • Η ταυτότητα των δύο μελών της επικοινωνίας μπορεί να αυθεντικοποιηθεί μέσω κρυπτογραφίας δημοσίου κλειδιού. Η αυθεντικοποίηση είναι προαιρετική, αλλά γενικά χρειάζεται για τουλάχιστον ένα από τα δύο άκρα της σύνδεσης. Είναι η βασική προϋπόθεση που πρέπει να διαθέτει κάθε ιστότοπος πρωτοκόλλου για να μην εμφανιστούν προβλήματα στις συνδέσεις με τον εξυπηρετητή και με την google που μεσολαβεί στην διαδικασία αυτή.
  • Η σύνδεση εγγυάται «ακεραιότητα δεδομένων» γιατί κάθε μήνυμα που αποστέλλεται περιλαμβάνει ένα μήνυμα ελέγχου ακεραιότητας χρησιμοποιώντας έναν κωδικό αυθεντικοποίησης μηνύματος για να ανιχνεύσει απώλεια ή τροποποίηση των δεδομένων κατά την διάρκεια της αποστολής[1].

Επιπλέον των παραπάνω ιδιοτήτων, προσεκτική παραμετροποίηση του TLS μπορεί να παρέχει επιπλέον ιδιότητες σχετικές με την ιδιωτικότητα, όπως Forward Secrecy, παρέχοντας την εγγύηση πως οποιαδήποτε μελλοντική κλοπή κρυπτογραφικών κλειδιών δεν μπορεί να βοηθήσει στην αποκρυπτογράφηση οποιασδήποτε προηγούμενης επικοινωνίας ασφαλισμένης με TLS από το παρελθόν[2].

Το TLS υποστηρίζει πολλές διαφορετικές μεθόδους ανταλλαγής κλειδιών, κρυπτογράφησης δεδομένων, και αυθεντικοποίησης ακεραιότητας μηνυμάτων (βλ. Αλγόριθμος παρακάτω). Ως αποτέλεσμα, μια ασφαλής παραμετροποίηση του TLS περιλαμβάνει την επιλογή μεταξύ πολλών παραμέτρων, κάποιες εκ των οποίων μόνο παρέχουν όλες τις σχετικές ιδιότητες ιδιωτικότητας και περιγράφονται στον πίνακα αυθεντικοποίησης και ανταλλαγής κλειδιών, στον πίνακα ασφαλείας κρυπτογραφημάτων, και στον πίνακα ακεραιότητας δεδομένων).

Προσπάθειες που έχουν γίνει για την παραβίαση ορισμένων ιδιοτήτων της ασφάλειας των επικοινωνίων που παρέχει το TLS, έχουν οδηγήσει σε αλλαγές στο ίδιο το πρωτόκολλο για την προστασία απέναντι σε τέτοιες επιθέσεις (βλ. Ασφάλεια). Οι προγραμματιστές των περιηγητών ιστού έχουν επίσης τροποποιήσει τα προϊόντα τους για να αμυνθούν απέναντι σε πιθανά κενά ασφαλείας αφού αυτά εντοπίστηκαν (βλ. Υποστήριξη SSL/TLS σε περιηγητές ιστού).

Το πρωτόκολλο TLS αποτελείται από δύο επίπεδα, το Πρωτόκολλο Καταγραφής TLS, και το πρωτόκολλο χειραψίας TLS.

Το TLS είναι ένα προτεινόμενο Πρότυπο Ίντερνετ από το Internet Engineering Task Force (IETF), και πρώτα ορίστηκε το 1999 και έπειτα ανανεώθηκε στο RFC 5246 (Αύγουστος 2008), και στο RFC 6176 (Μάρτιος 2011). Βασίζεται πάνω στις προηγούμενες δημοσιευμένες προδιαγραφές του SSL (1994, 1995, 1996) που αναπτύχθηκε από την Netscape Communications[3] για την προσθήκη του πρωτοκόλλου HTTPS στο περιηγητή τους, Netscape Navigator.

  1. 1,0 1,1 1,2 T. Dierks· E. Rescorla (Αυγούστου 2008). «The Transport Layer Security (TLS) Protocol, Version 1.2». 
  2. SSL: Intercepted today, decrypted tomorrow, Netcraft, 2013-06-25.
  3. A. Freier· P. Karlton· P. Kocher (Αυγούστου 2011). «The Secure Sockets Layer (SSL) Protocol Version 3.0». 

Developed by StudentB